package com.huaxin.device.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.device.dto.ResponseResult;
import com.huaxin.device.dto.request.ElectricalRoomCreateReqDTO;
import com.huaxin.device.dto.request.ElectricalRoomPageListReqDTO;
import com.huaxin.device.dto.request.ElectricalRoomUpdateReqDTO;
import com.huaxin.device.dto.response.ElectricalRoomWithStatisticDTO;
import com.huaxin.device.models.ElectricalRoom;

import java.util.List;

public interface ElectricalRoomService extends IService<ElectricalRoom> {

    /**
     * 创建配电房
     */
    ResponseResult<ElectricalRoom> create(ElectricalRoomCreateReqDTO in);

    /**
     * 根据ID查询配电房
     */
    ElectricalRoom getByElectricalRoomId(String id);

    /**
     * 更新配电房
     */
    ResponseResult<String> update(ElectricalRoomUpdateReqDTO in);

    /**
     * 删除配电房（软删除或硬删除根据需求）
     */
    ResponseResult<String> delete(String id);

    /**
     * 分页查询配电房
     */
    ResponseResult<IPage<ElectricalRoom>> pageQuery(ElectricalRoomPageListReqDTO in);

    /**
     * 根据ID列表查询配电房
     */
    ResponseResult<List<ElectricalRoom>> listByIds(List<String> ids);

    /**
     * 分页查询配电房（带统计信息）
     */
    ResponseResult<IPage<ElectricalRoomWithStatisticDTO>> pageQueryWithStats(Integer pageNum, Integer pageSize, String orgId, String inspectionOrderId);
}